package com.haonan.springboot_exercise.dao;

import com.haonan.springboot_exercise.bean.Email;
import com.haonan.springboot_exercise.bean.User;
import com.haonan.springboot_exercise.bean.pojo.ReadableMail;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * @author haonan
 * @date 2021/4/17 19:36
 **/
@Repository
public interface PopServerDao {
    /**
     * 返回单独一封邮件
     * @param email_id 邮件id
     * @return Email对象
     */
    public Email readSingleEmail(@Param("email_id") int email_id);

    /**
     * 获得这个用户的所有收信的email_id
     * @param user_name 用户名
     * @return 列表
     */
    public List<Integer> getAllEmailIdFromUser(@Param("user_name") String user_name);

    /**
     * 获得这个用户的所有收信的email
     * 之后用 pop3服务端 实现
     * @param user_name 用户名
     * @return 列表
     */
    public List<Email> getAllEmailFromUser(@Param("user_name") String user_name);

    /**
     * 通过email_id删除email
     * @param email_id 邮件id
     */
    public void deleteEmailById(@Param("email_id") int email_id);

    /**
     * 查看端口号
     * @param ip
     * @return
     */
    public Integer getPopPort(@Param("ip") String ip);

    /**
     * 查看启停状态
     * @param ip
     * @return
     */
    public Boolean getState(@Param("ip") String ip);

    /**
     * 设置服务器启停状态
     * @param state
     */
    public void setState(@Param("state") Boolean state);
}
